<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui" template="template.xhtml">
	<head>

	</head>
	<ui:define name="container">
		<h:form prependId="false">
			
			<p:panel header="Cadastrar usuários" toggleable="true"
				closable="true" toggleSpeed="500">
				<h:panelGrid id="acoes">
					<h:panelGrid columns="3">
						<h:panelGrid>
							<h:outputLabel value="Nome:" />
							<p:inputText style="width: 360px;"
								disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.nomeUsuario}" />
						</h:panelGrid>
						<h:panelGrid>
							<h:outputLabel value="Ramal:" />
							<p:inputText style="width: 75px;"
								disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.ramal}" />
						</h:panelGrid>
						<h:panelGrid>
							<p:commandButton image="smallSearch" title="Pesquisar usuários"
								onclick="buscaUsuarios.show();" />
						</h:panelGrid>
					</h:panelGrid>
					<h:panelGrid columns="4">
						<h:panelGrid>
							<h:outputLabel value="DDD:" />
							<p:inputMask mask="99" style="width: 30px;"
								disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.ddd}" />
						</h:panelGrid>
						<h:panelGrid>
							<h:outputLabel value="Telefone:" />
							<p:inputMask mask="9999-9999" style="width: 100px;"
								disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.telefone}" />
						</h:panelGrid>
						<h:panelGrid>
							<h:outputLabel value="E-mail:" />
							<p:inputText style="width: 200px;"
								disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.email}" />
						</h:panelGrid>
						<h:panelGrid columns="2">
							<p:selectBooleanCheckbox disabled="#{usuarioMB.viewState.enable}"
								value="#{usuarioMB.usuarioSelecionado.ativo}" />
							<h:outputLabel value="Ativo" />
						</h:panelGrid>
					</h:panelGrid>
					<h:outputLabel value="Grupo:" />
					<p:selectOneMenu style="width: 360px;"
						disabled="#{usuarioMB.viewState.enable}"
						value="#{usuarioMB.usuarioSelecionado.grupo.idGrupo}">
						<f:selectItems value="#{usuarioMB.comboGrupos}" />
					</p:selectOneMenu>
					<h:panelGrid columns="2">
						<p:selectBooleanCheckbox value="#{usuarioMB.alterarLogin}">
							<p:ajax update="loginEsenha" />
						</p:selectBooleanCheckbox>
						<h:outputLabel value="Alterar login e senha" />
					</h:panelGrid>
					<p:panel id="loginEsenha">
						<h:panelGrid columns="3">
							<h:panelGrid>
								<h:outputLabel value="Login:" />
								<p:inputText disabled="!#{usuarioMB.alterarLogin}"
									style="width: 120px;"
									value="#{usuarioMB.usuarioSelecionado.login}" maxlength="16" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel value="Senha:" />
								<p:password id="senha" style="width: 120px;"
									disabled="!#{usuarioMB.alterarLogin}" minLength="4"
									maxlength="16" promptLabel="Digite uma senha segura"
									goodLabel="Boa" weakLabel="Fraca" strongLabel="Excelente"
									value="#{usuarioMB.novaSenha}" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel value="Confirmação senha:" />
								<p:password id="confirmacaoSenha" style="width: 120px;"
									disabled="!#{usuarioMB.alterarLogin}" minLength="4"
									maxlength="16" feedback="false"
									value="#{usuarioMB.confirmaSenha}" />
							</h:panelGrid>
						</h:panelGrid>
					</p:panel>
				</h:panelGrid>
				<h:panelGrid id="acao" columns="5">
					<p:commandButton id="cmdAdicionar" image="cmdAdicionar"
						disabled="#{usuarioMB.viewState.cmdAdicionarDisable}"
						value="Adicionar" update="acoes,acao" action="#{usuarioMB.novo}" />
					<p:commandButton id="cmdAlterar" value="Alterar" image="cmdAlterar"
						disabled="#{usuarioMB.viewState.cmdAlterarDisable}"
						update="acoes,acao" action="#{usuarioMB.alterar}" />
					<p:commandButton id="cmdGravar" value="Gravar" image="cmdGravar"
						disabled="#{usuarioMB.viewState.cmdGravarDisable}"
						update="buscaUsuarios,acoes,acao,msgs"
						actionListener="#{usuarioMB.salvar}" />
					<p:commandButton id="cmdExcluir" value="Excluir" image="cmdExcluir"
						disabled="#{usuarioMB.viewState.cmdExcluirdDisable}"
						update="buscaUsuarios,acoes,acao,msgs"
						actionListener="#{usuarioMB.excluir}"
						onclick="if(!confirm('Deseja realmente remover este usuário?')) {return false;}" />
					<p:button outcome="default.jsf" value="Fechar" image="cmdFechar" />
				</h:panelGrid>

			</p:panel>
		</h:form>
		
		
	</ui:define>
	<ui:define name="dialog">
		
		<p:dialog id="buscaUsuarios" modal="true" widgetVar="buscaUsuarios" resizable="false"  >
			
			 <h:form>
				<h:panelGrid columns="2">
					<h:panelGrid>
						<h:outputLabel value="Nome usuário:" />
						<p:inputText style="width: 350px;"
							value="#{usuarioMB.valorConsulta}" />
					</h:panelGrid>
					<h:panelGrid>
						<p:commandButton value="Consultar"
							actionListener="#{usuarioMB.consultar}" immediate="true"
							update="lstUsuarios" />
						<p:commandButton value="Selecionar"
							onclick="pesquisaUsuarios.hide()" />
						<p:commandButton value="Fechar" onclick="buscaUsuarios.hide()" />
					</h:panelGrid>
				</h:panelGrid>
				<h:panelGrid id="lista">
					<p:dataTable id="lstUsuarios" var="usuario"
						value="#{usuarioMB.listaUsuarios}" scrollable="true"
						scrollWidth="470" selectionMode="single" scrollHeight="110">

						<p:ajax event="rowSelect" listener="#{usuarioMB.onRowSelect}"
							update="acao,acoes" />

						<p:column style="width: 110px;"  filterBy="#{usuario.idUsuario}" headerText="Código">
							<h:outputText value="#{usuario.idUsuario}" />
						</p:column>

						<p:column style="width: 250px;"  filterBy="#{usuario.nomeUsuario}" headerText="Nome">
							<h:outputText value="#{usuario.nomeUsuario}" />
						</p:column>

						<p:column style="width: 50px;" headerText="Ativo" >
							<h:selectBooleanCheckbox disabled="true" value="#{usuario.ativo}" />
						</p:column>
					</p:dataTable>
				</h:panelGrid>

			</h:form>
		</p:dialog>
	
	</ui:define>
</ui:composition>
